!=====Programa que realiza operações com vetores lidos de arquivos=====

PROGRAM exec04

!======================================================================

IMPLICIT NONE

!==============================Variáveis===============================

      REAL(4), DIMENSION(3) :: v1, v2, v3, prod_vet

!============================Abre o arquivo============================

      OPEN(UNIT=10, FILE='vet_inp.dat', STATUS='old')

!===========================Leitura dos dados==========================

      READ(10,*) v1 
      READ(10,*) v2 
      READ(10,*) v3

!======================Faz os cálculos pedidos=========================

      WRITE(*,*) 'Considerando v1.v2 o produto escalar e v1xv2 o produto vetorial'
      WRITE(*,*) 'v1.v2-v3.v1'
      WRITE(*,*) DOT_PRODUCT(v1,v2) - DOT_PRODUCT(v3,v1)
      WRITE(*,*) 'v1.(v2-v3)'
      WRITE(*,*) DOT_PRODUCT(v1,(v2-v3))
      WRITE(*,*) 'v1-(v1.v2)v3'
      WRITE(*,*) v1 - ((DOT_PRODUCT(v1,v2))*v3)
      !Calcula o produto vetorial
      prod_vet(1) = v1(2)*v3(2)-v1(3)*v3(2)
      prod_vet(2) = v1(3)*v3(1)-v1(1)*v3(3)
      prod_vet(3) = v1(1)*v3(2)-v1(2)*v3(1)
      WRITE(*,*) 'v1.(v1xv3)'
      WRITE(*,*) DOT_PRODUCT(v1, prod_vet)

!======================================================================

END PROGRAM exec04
